package com.baor.service.impl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baor.dao.StudentDao;
import com.baor.domain.StuVo;
import com.baor.service.StudentService;
import com.baor.utils.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class StudentServiceImpl implements StudentService {
    @Autowired
    private StudentDao studentDao;

    @Override
    public AjaxResult<?> stuList(Map<String, Object> map) {
        // 从 map 中获取分页参数
        Integer pageIndex = (Integer) map.get("pageIndex");
        Integer pageSize = (Integer) map.get("pageSize");
        // 创建分页对象
        Page<StuVo> page = new Page<>(pageIndex, pageSize);
        // 调用 studentDao 的 stuList 方法查询学生数据
        List<StuVo> stuList = studentDao.stuList(page);
        // 将查询结果存储在 map 中
        map.put("stu", stuList);
        map.put("total", page.getTotal());
        return AjaxResult.success(map);
    }

    @Override
    public AjaxResult<?> searchStu(Map<String, Object> param) {
       Map<String,Object> map=new HashMap<>();
       map.put("pageCount",this.studentDao.pagecount(param));
       map.put("userList",this.studentDao.searchStu(param));
       return AjaxResult.success(map);
    }

    @Override
    public AjaxResult<?> deleteStu(Map<String, Object> stuId) {
        return AjaxResult.success(this.studentDao.deleteStu(stuId));
    }

    @Override
    public AjaxResult<?> stuInfo(Map<String, Object> param) {
        return AjaxResult.success(this.studentDao.stuInfo(param));
    }

    @Override
    public AjaxResult<?> updateStu(Map<String, Object> param) {
        return AjaxResult.success(this.studentDao.updateStu(param));
    }

    @Override
    public AjaxResult<?> addStu(StuVo stuVo) {
        List<StuVo> stuVos = this.studentDao.stuNumber(stuVo);
        System.out.println(stuVos);
        if(stuVos!=null && !stuVos.isEmpty()){
            return AjaxResult.error("学号重复");
        }else{
            int row=this.studentDao.addStu(stuVo);
            return AjaxResult.success(row);
        }

    }
    @Override
    public AjaxResult<?> selectClazz() {
        return AjaxResult.success(this.studentDao.selectClazz());
    }


}
